aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/[username]/generate
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-12-21 15:48:14 -0800
committerAdam Soltys <[email protected]>2022-12-21 15:48:14 -0800
commit6ae27be919808df935fb140fd56bb6ae010a219b (patch)
treeba9f5d862cc48abf5b49acfdbd32b87216eadba1 /src/routes/(app)/[username]/generate
parent5c0675fa6815a70033c17a9310d0fa1f9c569e92 (diff)
downloadcoinos-ui-6ae27be919808df935fb140fd56bb6ae010a219b.tar.gz
coinos-ui-6ae27be919808df935fb140fd56bb6ae010a219b.zip
add nostr message field to user profile page
Diffstat (limited to 'src/routes/(app)/[username]/generate')
-rw-r--r--src/routes/(app)/[username]/generate/+page.svelte27
1 files changed, 3 insertions, 24 deletions
diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte
index ee67237c..fd6b6f7e 100644
--- a/src/routes/(app)/[username]/generate/+page.svelte
+++ b/src/routes/(app)/[username]/generate/+page.svelte
@@ -1,42 +1,20 @@
<script>
import { Buffer } from 'buffer';
import { onMount } from 'svelte';
- import { BIP32Factory } from 'bip32';
import { bech32m } from 'bech32';
import { generateMnemonic, mnemonicToEntropy, mnemonicToSeedSync } from 'bip39';
import * as ecc from 'tiny-secp256k1';
- import { post } from '$lib/utils';
+ import { bip32, stretch, post } from '$lib/utils';
import { goto } from '$app/navigation';
export let data;
let { user } = data;
- const { encode, decode, fromWords, toWords } = bech32m;
-
- const stretch = async (password, salt) =>
- crypto.subtle.deriveKey(
- {
- name: 'PBKDF2',
- salt,
- iterations: 100000,
- hash: 'SHA-256'
- },
- await crypto.subtle.importKey(
- 'raw',
- new TextEncoder().encode(password),
- { name: 'PBKDF2' },
- false,
- ['deriveBits', 'deriveKey']
- ),
- { name: 'AES-GCM', length: 256 },
- true,
- ['encrypt', 'decrypt']
- );
+ const { encode, toWords } = bech32m;
let mnemonic, key, password, seed, entropy, cipher, pubkey, salt, child;
onMount(async () => {
- let bip32 = await BIP32Factory(ecc);
mnemonic = generateMnemonic();
seed = mnemonicToSeedSync(mnemonic);
entropy = mnemonicToEntropy(mnemonic);
@@ -54,6 +32,7 @@
user.pubkey = Buffer.from(ecc.xOnlyPointFromPoint(child.publicKey)).toString('hex');
user.cipher = encode('en', toWords(bytes), 180);
+ user.salt = Buffer.from(salt).toString('hex');
await post(`/${user.username}/generate`, user);
goto(`/${user.username}/dashboard`);